// 上面这个代码处理过度动画（默认加上不用管）
document.addEventListener('DOMContentLoaded', () => {
  setTimeout(() => {
    document.body.classList.add('sidenav-pinned')
    document.body.classList.add('ready')
  }, 200)
})

// 每个页面都会导入该js 统一的设置写这里即可

 // ------------- 设置基地址 -------------
axios.defaults.baseURL = "http://ajax-api.itheima.net"
 
 // ------------- 请求拦截 request -------------
 axios.interceptors.request.use(function (config) {
  //判断有没有token
   if (localStorage.getItem("token")) {
     config.headers.Authorization=localStorage.getItem("token")
   }

  return config
}, function (error) {
  
  return Promise.reject(error)
 })
// ------------- 响应拦截 response -------------
axios.interceptors.response.use(function (response) {
  
//剥离data
  return response.data
}, function (error) {
   //console.dir(error) //查看错误并找出401路径
  //判断如果错误是401 就删除token和用户名并跳转到登录页
  if (error.response.status === 401) {
    localStorage.removeItem("token")
    localStorage.removeItem("username")
    location.href="./login练习01.html"
  }
  return Promise.reject(error)
 })


 // ------------- 封装了一个轻提示的函数 -------------
  function tip(str){
  const toastBox = document.querySelector("#myToast")
  toastBox.children[0].innerText=str
  const toast = new bootstrap.Toast(toastBox,{
    delay:1000
  })
  toast.show() 
}
// ------------- 用户名渲染 -------------
//找到名字的span
const nameSpan = document.querySelector("#navbar-main .font-weight-bold")
//取出本地存储的用户名
const userName = localStorage.getItem("username")
// console.log(userName)
//判断有没有这个span才可赋值
if (nameSpan) {
  nameSpan.innerText=userName
}


// 利用了逻辑短路
// &&逻辑与短路是：左边为false就短路  如果nameSpan=null 就得到了false， false就不再执行右边了。
//如果nameSpan 就得到了true时才执行右边。
// nameSpan && (nameSpan.innerText = userName)


// ------------- 退出用户 -------------
//获取退出按钮
const logout = document.querySelector("#logout")
//判断logout这个id存不存在,有才退出
if (logout) {
  logout.onclick = function () {
  //删除本地存储
    localStorage.removeItem("token")
    localStorage.removeItem("username")
    //最后就返回登录页
    location.href="./login练习01.html"
  } 
}



 
 
